1. Field of the Invention
The present disclosure relates generally to imaging systems, and, more particularly, to a method for printing swaths of an image in an inkjet printer with reduced memory usage for delay buffer.
2. Description of the Related Art
Inkjet printers have gained wide popularity in businesses and homes because of their low cost, high print quality and additionally, color printing capability. Inkjet printers typically print an image by ejecting droplets of ink on a print media from one or more vertical columns of nozzles disposed on a printhead. As the printhead scans across the print media, the droplets are ejected to form a matrix of dots. For each dot, which makes up the image, there is image data describing which nozzle is to print the dot during a particular pass and describing the horizontal position on the page at which to print the dot.
After a print command is issued, the printer driver sends image data in the form of consecutive raster lines to a formatter. The formatter allocates a memory to store the raster data before there are enough data to build a swath. The allocated memory is called a delay buffer. The amount of raster data to be stored on the delay buffer depends on the number of nozzles in a color bank of the printhead, print resolution (number of dots per inch), and the width of the print media.
For 2400×1200 dpi data to be printed, each color bank has 320 nozzles, the horizontal resolution is 2400 dpi and the vertical resolution is 1200 dpi, the allocated memory provides storage for all the data to be printed under a full printhead, i.e., memory (M)=number of nozzles*vertical resolution multiplier*horizontal resolution=320*2*2400=1,536,000 bytes. The vertical resolution multiplier is equal to 2 if the nozzle resolution is 600 nozzles per inch. The full head covers twice as many raster lines as its nozzles. More memory is needed if there are more nozzles on the head or if the printing resolution is higher. The printhead does not print all the data in one pass except when printing in low resolution. When the printhead fires ink dots at 1200 dpi rate (S), the color head needs a minimum of 4 passes (P) to advance paper for a full head size (overall length of the printhead), in order to print 2400×1200 dpi data. Because S*P=vertical resolution multiplier*horizontal resolution, we can rewrite the equation as: M=N*S*P (Equation 1), where M: Memory size, N: number of nozzles in a color bank, S: number of slices per inch in a swath (swath resolution), and P: number of passes to advance paper for a full head size. The amount of memory calculated from the equation M=N*S*P is M=320*1200*4=1,536,000 bytes.
The formatter breaks the image data, i.e., raster lines into its component color lines. For example, a raster line with a format of CMYK is broken into 4 individual color lines, cyan, magenta, yellow and black. A color line may have 600, 1200, 2400, or 4800 dots per inch. Because a printhead fires ink dots at the optimal nozzle firing speed, a nozzle may fire a subset of ink dots in a color line. A color line is further split into color layers. Referring to FIGS. 1A and 1B (PRIOR ART), if a nozzle fires at speed of 1200 dots per inch, the color line of 2400 dpi is split into two color layers of 1200 dpi. One color layer contains odd dots and the other contains even dots. Two color layers are stored in two separate segments of the delay buffer. A nozzle is able to fire all the ink dots in a color layer in one pass, and 4 passes (Pass I, Pass II, Pass III, and Pass IV) are needed to advance paper for a full head size. Each pass prints a swath that is built with color layers in a segment (see FIG. 1A). Pass I prints ink dots on odd rows and odd columns. Pass II prints ink dots on even rows and odd columns. Pass III prints ink dots on odd rows and even columns. Pass IV prints ink dots on even rows and even columns. Since the resolution of the image to be printed is generally higher than the swath resolution, the image data, i.e., the raster lines, are split into color layers that have the same horizontal resolution as the swath. Accordingly, the buffer is divided into two segments, namely, segment 1 and segment 2. Segment 1 stores color layers for pass I and Pass II. Segment 2 stores color layers for pass III and pass IV (see FIG. 1B).
When the formatter has accumulated enough color layers, a swath is built. For a printhead with 320 nozzles to print a resolution of 2400×1200 dpi in 4 passes, the print media is advanced by one-fourth of full (vertical) head size in each pass of 80/600 inch for the print. The segments storing the color layers have a queue structure. At the top of a page, the first 160 layers are added to each segment. The color layers are then stored on the bottom ¼ of a segment. The formatter advances the print media by one-fourth of the full head size. The first swath is built with 80 odd color layers in segment 1. The swath is printed using 80 nozzles starting from a bottom of the printhead. After the first swath is built, the formatter adds 160 more color layers to each segment in order to build a second swath. The formatter moves paper by another one-fourth of the full head size. The second swath is built with 160 even color layers in segment 1 using 160 nozzles starting from the bottom of the printhead. Then, the formatter adds another 160 color layers to each segment, and advances the print media by another one-fourth of the full head size. The third swath is built with 240 odd color layers in segment 2 using 240 nozzles starting from the bottom of the printhead. Then, the formatter adds another 160 color layers to each segment, and advances the print media by another one-fourth of the full head size. The fourth swath is built with 320 even color layers in segment 2 using all the 320 nozzles of the printhead. At this point the bottom one quarter of each segment is empty and available for reuse. Then, the formatter adds another 160 color layers to each segment, and advances the print media by another one-fourth of the full head size. Thereafter, a fifth swath may be built using 320 odd color layers in segment 1. The above process of storing the color layers in segments and building a swath is repeated until the printer driver stops sending the raster lines.
With the above approach, the amount of memory needed to allocate in a delay buffer may considerably increase with higher printing resolution and number of nozzles in the printhead. If the formatter is host based, the higher memory requirement of the above approach can be a performance issue for computers with small physical memory.
None of the conventional approaches used for allocating the memory needed to store the image data have successfully addressed the problem of higher memory requirement in inkjet printers. Accordingly, what is needed in an approach for reduced memory usage for delay buffer during printing swaths in an inkjet printer.